package cn.iocoder.yudao.module.promotion.controller.admin.prizedraw.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 抽奖活动奖品 Response VO")
@Data
@ExcelIgnoreUnannotated
public class PrizeDrawAwardsRespVO {


    @Schema(description = "抽奖活动奖品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "831")
    @ExcelProperty("抽奖活动奖品ID")
    private Long prizeDrawAwardsId;

    @Schema(description = "抽奖活动ID", example = "8110")
    @ExcelProperty("抽奖活动ID")
    private Long prizeDrawId;

    @Schema(description = "奖项名称", example = "赵六")
    @ExcelProperty("奖项名称")
    private String awardName;

    @Schema(description = "奖项类型（1：正常奖项，2：安慰奖）", example = "1")
    @ExcelProperty("奖项类型（1：正常奖项，2：安慰奖）")
    private Boolean drawType;

    @Schema(description = "奖项排序")
    @ExcelProperty("奖项排序")
    private Integer drawSort;

    @Schema(description = "奖品类型（1：积分，2：优惠券，3：其他虚拟，4：体系内实物商品，5：其他实物，6：无奖品）", example = "1")
    @ExcelProperty("奖品类型（1：积分，2：优惠券，3：其他虚拟，4：体系内实物商品，5：其他实物，6：无奖品）")
    private Integer awardType;

    @Schema(description = "积分")
    @ExcelProperty("积分")
    private Integer point;

    @Schema(description = "优惠劵模板编号", example = "14608")
    @ExcelProperty("优惠劵模板编号")
    private Long templateId;

    @Schema(description = "商品 SPU 编号", example = "109")
    @ExcelProperty("商品 SPU 编号")
    private Long spuId;

    @Schema(description = "商品 SPU 名称", example = "李四")
    @ExcelProperty("商品 SPU 名称")
    private String spuName;

    @Schema(description = "商品 SKU 编号", example = "19766")
    @ExcelProperty("商品 SKU 编号")
    private Long skuId;

    @Schema(description = "奖品名称", example = "芋艿")
    @ExcelProperty("奖品名称")
    private String prizeName;

    @Schema(description = "奖品图片")
    @ExcelProperty("奖品图片")
    private String prizePic;

    @Schema(description = "奖品数量")
    @ExcelProperty("奖品数量")
    private Integer prizeNums;

    @Schema(description = "中奖概率")
    @ExcelProperty("中奖概率")
    private BigDecimal prizeChance;

    @Schema(description = "每日中奖数量")
    @ExcelProperty("每日中奖数量")
    private Integer todayPrizeNums;

    //--------以下为中奖的数量和每日中奖的数量------//

    @Schema(description = "总中奖数量")
    @ExcelProperty("总中奖数量")
    private Integer winLotteryNum;

    @Schema(description = "今日中奖数量")
    @ExcelProperty("今日中奖数量")
    private Integer todayWinLotteryNum;


    //-----以下是中奖数字范围相关---------//

    @Schema(description = "奖品中奖数字范围起点")
    @ExcelProperty("奖品中奖数字范围起点")
    private Integer awardStartCode;

    @Schema(description = "奖品中奖数字范围终点")
    @ExcelProperty("奖品中奖数字范围终点")
    private Integer awardEndCode;

    @Schema(description = "中奖数字，实际应用可不定义。")
    @ExcelProperty("中奖数字，实际应用可不定义。")
    private Integer awardCode;

    @Schema(description = "兑奖过期时间")
    @ExcelProperty("兑奖过期时间")
    private LocalDateTime expiredTime;


    @Schema(description = "中奖id")
    private Long prizeDrawLotteryId;

}